Chart for WPF/Silverlight
マーカーとラベル
グラフ機能 > マーカーとラベル

ComponentOne Chart for WPF/Silverlight は、連結されたインタラクティブなマーカーやラベルの表示を特別にサポートしています。チャート内でマーカーを作成または表示する方法は1つではないため、必要に応じて適切な設定を行うことができるように、C1Chart コントロールのための拡張可能なオブジェクトモデルが提供されています。

このトピックでは、ChartPanelObject および ChartView.Layers コレクションを使用して、カスタマイズされたさまざまなマーカーやラベルをチャートに提供する方法について説明します。

チャートでチャートパネルを使用するには、そのパネルを ChartView の Layers コレクションに追加する必要があります。

XAML
コードのコピー
<c1chart:C1Chart x:Name="chart">
  <c1chart:C1Chart.View>
    <c1chart:ChartView>
      <c1chart:ChartView.Layers>
        <c1chart:ChartPanel >
          <!-- ChartPanelObjects -->
         </c1chart:ChartPanel>
      </c1chart:ChartView.Layers>
    </c1chart:ChartView>
  </c1chart:C1Chart.View>
</c1chart:C1Chart>

ChartView.Layers コレクションを使用すれば、チャートパネルをいくつでも追加できます。各パネルには、任意の数の ChartPanelObject を置くことができ、これが基本的にマーカーを定義する UI 要素になります。ChartPanelObject の主なプロパティは次のとおりです。

ChartPanelObject.Content プロパティは任意の UI 要素に設定できます。これにより、マーカーの外観を定義できると共に、データポイントへの連結も指定できます。また、Alignment プロパティを使用してマーカーの外観を定義することもできます。たとえば、位置を中央にしてマーカーを作成できます。それには、HorizontalAlignment プロパティを "center" に設定します。

次の XAML は、左下隅がデータ座標 x=0、y=0 にあるテキストラベルを定義します。

XAML
コードのコピー
<c1:ChartPanelObject DataPoint="0,0" VerticalAlignment="Bottom">
     <TextBlock Text="ゼロ"/>
</c1:ChartPanelObject>
メモ:  必ずしも両方の座標を指定する必要はありません。座標を double.NaN に設定した場合、要素は特定の x または y 座標を持たなくなります。

y=0 の水平マーカーを作成できます。HorizontalAlignment プロパティを Stretch に設定すると、要素の幅がプロットエリアの幅いっぱいまで広げられます。

XAML
コードのコピー
<!-- 水平線 -->
<c1:ChartPanelObject DataPoint="NaN,0" HorizontalAlignment="Stretch">
   <Border BorderBrush="Red" BorderThickness="0,2,0,0" Margin="0,-1,0,0" />
</c1:ChartPanelObject>

次のサンプルは、垂直マーカーを作成します。

XAML
コードのコピー
<!-- 垂直線 -->
<c1:ChartPanelObject DataPoint="0,NaN" VerticalAlignment="Stretch">
   <Border BorderBrush="Red" BorderThickness="2,0,0,0" Margin="-1,0,0,0" />
</c1:ChartPanelObject>
メモ: チャートパネルオブジェクトは、主軸をサポートしています。補助軸の場合には、座標変換を行う必要があります。
関連トピック